package com.xinya.wanandroidclient.base;

import android.os.Bundle;
import android.view.WindowManager;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;

import com.xinya.wanandroidclient.R;
import com.xinya.wanandroidclient.utils.ColorUtils;
import com.xinya.wanandroidclient.utils.StatusUtils;

/**
 * @ClassName: BaseActivity$
 * @Description: java类作用描述
 * @Author: xinya
 * @CreateDate: 2021/2/23$ 16:54$
 * @UpdateRemark: 更新内容
 * @Version: 1.0
 */
public abstract class BaseActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 解决键盘弹起以后上顶布局的问题
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

        setContentView(getLayoutId());

        setNightMode();
        setStatusColor();
        setSystemInvadeBlack();
        initViewModel();
        init(savedInstanceState);

    }

    protected abstract int getLayoutId();

    protected abstract void init(Bundle savedInstanceState);


    /**
     * 黑夜模式/日间模式
     */
    public void setNightMode() {
        // TODO: 2021/2/23 待测试动态切换  也可以写在application中 https://www.jianshu.com/p/b8fc1953ae9f
        // TODO: 2021/3/12 此方法会导致activity重新创建，所以移到了application中进行执行
//        AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
        // 设置过渡动画,避免切换太生硬
        // getWindow().setWindowAnimations(R.style.OutInAnimation);
    }

    /**
     * 设置状态栏颜色
     */
    public void setStatusColor() {
        StatusUtils.setUseStatusBarColor(this, ColorUtils.parseColor(R.color.base_bg_color));
    }

    /**
     * 沉浸式状态
     */
    public void setSystemInvadeBlack() {
        // TODO: 2021/2/23 根据日渐/黑夜模式更改 isBlack的值
        StatusUtils.setSystemStatus(this, true, true);
    }




    public void initViewModel() {
    }

}
